In the application of machine vision to robot manufacturing processes it has become known that there is a need to rapidly determine the accuracy of the vision data. The vision data is used to guide the robot to alter its programmed path to accommodate inaccuracies caused by the robot and inaccuracies in the workpieces upon which the robot must operate. The knowledge of the accuracy of the location of measuring apparatus (whether vision or otherwise) relative to the process tooling is therefore essential to determining accurate corrections to be applied to the robot end effector position and orientation.
Since the measuring device, a vision sensor in the case to be described, will ordinarily be separate from the tool performing an operation on a workpiece, the position of the tool relative to the measuring device affects the location to which the tool will be guided unless the measuring device directly measures the tool position relative to the workpiece position. For many applications, the sensor is mounted on the end of the robot arm along with the process tool. The tool is not measured by the sensor but rather it is assumed to remain in a fixed location relative to the sensor so that changes in workpiece location measured by the sensor can be used to infer the corrections needed to properly position the tool.
If the robot introduces a positioning error, then the sensor measurement of that error can be applied directly to the robot to reposition both the sensor and tool to the correct location relative to the workpiece. If, however, the sensor has been moved relative to the tool such as might be caused by striking an obstruction, then the sensor's error should be applied to the sensor's data prior to its use for guiding the robot. Alternatively, the measurement of either type of error could be used by the robot operator to enter corrective adjustments to the robot or reposition the sensor as appropriate.
Positioning errors have six degrees of freedom: translation in two directions orthogonal to each other in the horizontal plane; translation vertically; and rotation about each of those three directions. It becomes a difficult task for a robot operator to make corrections that are not presented to him in a form that can be directly applied. For example, the system should compute the amount and direction that the sensor must be moved to correct a measured error, if it is determined that the error is caused by the sensor.